import axios from 'axios'
import { ElMessage } from 'element-plus'

axios.defaults.baseURL = 'http://localhost:8080/'
// 父组件向子组件传递数据时无论层级有多深，都可以注入由父组件提供给整条链路的依赖，需要导入inject

// axios配置全局请求路径前缀
// axios.defaults.baseURL = "http://117.78.1.141:8080";

//配置拦截器，统一处理请求
axios.interceptors.request.use(
    (config) => {
        //在请求头中添加token
        const token = localStorage.getItem("token");
        console.log(token);

        if (token) {
            config.headers['token'] = token
        }
        return config;
    },
    (error) => {
        return Promise.reject(error);       // 对请求错误做些什么
    }
);

//配置拦截器，统一处理响应
axios.interceptors.response.use(
    //放行/user/getCaptcha请求
    (response) => {
        console.log(response.config.url);
        if (response.config.url === '/user/getCaptcha') {
            return response; // 返回整个 response 对象而不是 response.data
        }
        // 对于其他请求，按默认方式处理
        return response.data
    },
    (error) => {
        console.log(error.response);
        
        ElMessage.error(error.response.data.msg);
    }
);
export default axios;